\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{makeidx} % 调用 makeidx 宏包，用来处理索引
\makeindex % 开启索引的收集
\usepackage{ctex}
\usepackage{amsmath,amsthm}     
\usepackage{graphicx}     
\usepackage{hyperref} 
\usepackage{url}
\usepackage{amsfonts} 
\pgfplotsset{compat=1.16}
\usepackage{multicol}
\usepackage{cite}

\title{数学软件第二次作业}
\author{晏宇青\\数学与应用数学3220104804}
\date{\today}
\begin{document} 

\maketitle

\section{12.2不可压缩的NS方程}
二维不可压缩流体的流场完全由速度向量$q = (u(x, y), v(x, y)) \in R^2$和压力$ p(x, y) \in R$ 描述。\cite{2007An}这些函数是以下守恒定律的解（例如，参见 Hirsch, 1988）
·质量守恒：
\begin{equation}\label{ep:1}
    div(q)=0\tag{12.1}
\end{equation}
  或者使用散度\footnote{我们回顾了二维场的微分算子散度、梯度和拉普拉斯算子的定义:如果$v=(v_x, v_y) : \mathbb{R}^2 \mapsto \mathbb{R}^2且 \varphi :\mathbb{R}^2 \mapsto \mathbb{R} $，则有：$div(v)=\frac{\partial v_x}{\partial x}+\frac{\partial v_y}{\partial y},\quad \mathcal{G} \varphi=(\frac{\partial \varphi}{\partial x},\frac{\partial \varphi}{\partial y}),\quad \bigtriangleup \varphi=div(\mathcal{G} \varphi)=\frac{\partial^2 \varphi}{\partial x^2}+\frac{\partial^2 \varphi}{\partial y^2}$，且$\bigtriangleup v=(\bigtriangleup v_x,\bigtriangleup v_y)$.}算子的显性形式写成:
\begin{equation}
    \frac{\partial u}{\partial x}+\frac{\partial v}{\partial y}=0.
\end{equation}
·动量守恒的紧凑形式\footnote{我们用$\otimes$表示张量积。}:
\begin{equation}
    \frac{\partial q}{\partial t}+div(q\otimes q)=-\mathcal{G}p+\frac{1}{Re}\bigtriangleup q
\end{equation}
或者，以显性形式:
\begin{equation}
\left\{\begin{array}{lr}
  &\frac{\partial u}{\partial t}+\frac{\partial u^2}{\partial x}+\frac{\partial uv}{\partial y}=-\frac{\partial p}{\partial x}+\frac{1}{Re}(\frac{\partial^2 u}{\partial x^2}+\frac{\partial^2 u}{\partial y^2}),  \\
  &\frac{\partial u}{\partial t}+\frac{\partial uv}{\partial x}+\frac{\partial v^2}{\partial y}=-\frac{\partial p}{\partial y}+\frac{1}{Re}(\frac{\partial^2 v}{\partial x^2}+\frac{\partial^2 v}{\partial y^2}).
         \end{array}
\right.
\end{equation}
前面的方程是以无量纲形式编写的，使用以下比例变量:
\begin{equation}
    x=\frac{x^*}{L},\quad y=\frac{y^*}{L},\quad u=\frac{u^*}{V_0},\quad v=\frac{v^*}{V_0},\quad t=\frac{t^*}{L/V_0},\quad p=\frac{p^*}{\rho_0 V^2_{0}},
\end{equation}
其中上标（*）表示以物理单位测量的变量。常数$L、V_0$分别是表征模拟流动的参考长度和速度。无量纲数Re称为雷诺数，量化了惯性（或对流）项和粘性（或扩散）在流动中的相对重要性：
\begin{equation}
    Re=\frac{V_0 L}{v}
\end{equation}
其中，v是流动的运动粘度。
总之，将在本项目中数值求解的偏微分方程的Navier-Stokes系统由（12.2）和（12.4）定义；初始条件（在t=0处）和边界条件将在以下部分中讨论。


\section{12.4计算域、交错网格和边界条件}
通过考虑处处具有周期性边界条件的矩形域$L_x×L_y$（见图12.1），数值求解$Navier–Stokes$方程得到了显著简化。速度$q(x,y)$和压力$p(x,y)$场的周期性在数学上表示为：
\begin{equation}
    q(0,y) = q(L_x, y), \quad p(0, y) = p(L_x, y),\quad  \forall y \in [0, L_y], 
\end{equation}
\begin{equation}
    q(x,0) = q(x, L_y), \quad p(x, 0) = p(x,L_ y),\quad  \forall y \in [0, L_x].
\end{equation}
计算解的点分布在遵循矩形和均匀2D网格的域中。由于在我们的方法中并非所有变量都共享同一个网格，因此我们首先定义一个主网格（见图$12.1$），这个主网格通过分别取沿$x$的$n_x$个计算点和沿$y$的$n_y$个计算点生成：
\begin{equation}
    x_c(i)=(i-1)\delta x, \quad \delta x=\frac{L_x}{n_x -1} \quad i=1,...n_x,
\end{equation}
\begin{equation}
    y_c(j)=(j-1)\delta y, \quad \delta y=\frac{L_y}{n_y -1} \quad j=1,...n_y.
\end{equation}


\usetikzlibrary{decorations.markings}
\tikzset{
perpendicular/.style={
decoration={
markings,
mark=at position 0.5 with {
\draw[<->] (0pt,24pt) -- (0pt,0pt);
\node[above] at (0,0) {periodicity};
% \draw] (2pt,2pt) -- (2pt,-2pt);
}
},
postaction={decorate}
}
} \
\begin{center}
\begin{minipage}{0.4\textwidth}
\begin{tikzpicture}
% 绘制坐标轴
\draw[->] (0,0) -- (6,0) node[right] {X};
\draw(6,0) node[below] {$L_x$};
\draw[->] (0,0) -- (0,6) node[above] {Y};
\draw(0,6) node[left] {$L_y$};
% 绘制正方形并添加箭头
\draw[perpendicular] (0,0) -- (6,0);
\draw[perpendicular] (6,0) -- (6,6);
\draw[perpendicular] (6,6) -- (0,6);
\draw[perpendicular] (0,6) -- (0,0);
\end{tikzpicture}
\end{minipage}
\hspace{2cm}
\begin{minipage}{0.4\textwidth}
\begin{tikzpicture}
% 绘制坐标轴
\draw[->] (0,0) -- (6,0) node[right] {X};
\draw(6,0) node[below] {$L_x$};
\draw[->] (0,0) -- (0,6) node[above] {Y};
\draw(0,6) node[left] {$L_y$};
%draw rectangle
\draw(0,0) rectangle (6,6);
%画中间的两道虚线
\draw[dashed] (3,0) -- (3,6);
\draw[dashed] (0,3) -- (6,3);
%draw green line
\draw[green] (2,0) -- (2,6);
\draw[green] (4,0) -- (4,6);
\draw[green] (0,2) -- (6,2);
\draw[green] (0,4) -- (6,4);
%mark points on x lable
\draw(2,0) node[below] {$x_0(i)$};
\draw(3,0) node[above] {$x_m(i)$};
\draw(4,0) node[below] {$x_0(i+1)$};
%mark points on y lable
\draw(0,2) node[left] {$y_0(j)$};
\draw(0,3) node[left] {$y_m(j)$};
\draw(0,4) node[left] {$y_0(j+1)$};
%mark inner points
\draw[fill] (3,2) circle[radius=2pt] node[right] {$v(i,j)$};
\draw[fill] (3,3) circle[radius=2pt] node[right] {$p(i,j)$};
\draw[fill] (2,3) circle[radius=2pt] node[right] {$u(i,j)$};
\end{tikzpicture}
\end{minipage}
\end{center}



次要格线由主要格线单元的中心定义:
\begin{equation}
    x_m(i)=(i-1/2)\delta x \quad i=1,...,n_xm
\end{equation}
\begin{equation}
    y_m(j)=(j-1/2)\delta y \quad j=1,...,n_ym
\end{equation}
其中我们使用了缩写符号$n_xm=n_x−1,n_ym=n_y−1$。在定义为矩形$[x_c(i),x_c(i+1)]×[y_c(j),y_c(j+1)]$的计算单元内，未知变量$u$、$v$、$p$将被计算为不同空间位置的解的近似值：\\
• $u(i,j) \approx u(x_c(i), y_m(j))$ (单元的西侧面),\\
• $v(i,j) \approx v(x_m(i), y_c(j))$ (单元的南侧面),\\
• $p(i,j) \approx p(x_m(i), y_m(j))$ (单元的中心).\\
变量的这种交错排列具有压力和速度之间强耦合的优点。这也有助于（参见本章末尾的参考文献）避免在共线排列（其中所有变量都在相同的网格点计算）中遇到的一些稳定性和收敛性问题。
\bibliographystyle{plain}
\bibliography{references.bib}
\end{document}
